
        <html>
			<head>
			     <title>从外围进入各大公司内网的最新方式 - boooooom</title>
				 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
			</head>
			<body>
				<h1>原文地址:<a href="http://drops.wooyun.org/tips/7831">http://drops.wooyun.org/tips/7831</a></h1>
				
      <p>
        <h1>0x01 背景</h1>

<hr />

<p>为什么是以进入内网作为一个目标来讨论，因为我认为站在攻击者的角度来说攻击的核心目标是获取数据。而相对来说几乎攻击者想要的所有数据都在内网，而相对来说本身内网的安全防御能力就几乎为0。所以从外部寻找一个突破口进入内网是整个获得数据的过程中最关键的一个环节。</p>

<p>那么基于这样一个话题本来我想去讲的是到底有哪些从外围进入内网的手段，我初步的梳理了一下，我把它们分为两大类：合法入口和非法入口。而合法入口其实就是本身企业在给员工开放的一个从外部到企业内部的通道，这里面主要包括vpn、mail、wifi；在vpn和mail这两个入口来看我们看到的大部分攻击方法主要是利用用户名( http://zone.wooyun.org/content/18372) 及密码的大数据来进行攻击的。而wifi这一块，我想想wifi万能钥匙这个就是个典型入口了（ <a target="_blank" href="http://www.wooyun.org/bugs/wooyun-2015-0108465">WooYun: 看我如何用wifi万能钥匙物理撸穿京东漫游内网</a> ）; 而非法入口其实利用一些部署在边界上的应用或者主机及服务相关的漏洞；这里面就包含着各种常见的漏洞了，我就先不在这里细说。</p>

<!--more-->

<p>而我这篇文章里也不太想把上面所描述的所有的内容全部来细说一遍，篇幅有限不可能每个点都讲的特别相信，而且很多东西我相信之前很多人都讲了很多，可能我也不能讲的比他们更好，于是我更想讲一些大家可能没有讲或者讲的比较少的东西。那么回到主题是针对大型互联网公司来说，那么我认为与这样的高手过招重要的在取其命门。所以终极问题来了，大公司的命门在哪？带着这个终极问题我们来往下分析。</p>

<h1>0x02 成也边界，败也边界</h1>

<hr />

<p>而大公司这个命门在哪？我们知道既然要从外围进入内网，那么必然要做的一件事情就是跨越边界，所有这个命门我们也就自然应该在企业的内外网边界上来寻找。</p>

<p>那为什么企业需要在内外网之间部署这样一个边界呢？我们只要作为一个大企业来说他会有上百甚至上千个业务线，而安全团队或许只有几十人，那这几十人要保证这上千个业务线的安全，显然如果用布点的方式肯定无法完成覆盖的，所以企业在思考如何进行防御的时候会选择区域性防守。</p>

<p>所谓区域性防守就是把重点需要保护的业务&amp;数据放到一个指定的区域，，让后对这个区域进行隔离，并指定好进入这个区域的防火墙策略。然后定期对这个区域进行安全检查。</p>

<p>如果这样实施的很好，看起来一切都很完美。但是事实上并不尽人意，事实是这样的，在企业内部通常业务部门是会比安全部门强势的，这一点我相信大家都知道，那么就会导致一个问题，安全部门总想着把业务圈起来，各种严格的策略和规范实施上去，而业务部门在业务快速迭代的背景下就会很难去严格执行你的策略。他们会要求你针对他特殊的业务场景来制定专门的策略，甚至部署到飞隔离区域，而且这样的情况不在少数。如此一来安全部门需要维护的策略和规范就会越来越多。而这将直接导致策略及规范的执行越来越差。既然如此，我们都了解了企业防守上存在的一些问题，那么如何去实施攻击测试呢?</p>

<p>上面我们说到两个很重要的环节，一个是制定规范并执行，一个是对规范的执行结果进行合规性检查（安全检测）。那么这两个环节可能会出现什么样的问题呢？一个是内网业务对外，直接脱离边界控制；一个是合规性检测的盲区，弱点扫描。</p>

<h1>0x03 攻击思路之内网业务直接对外</h1>

<hr />

<p>我们先来看一张图：</p>

<p><img src="http://static.wooyun.org//drops/20150810/2015081008175798155.png" alt="" /></p>

<p>从图中我们可以看到当我对一个公网ip的80端口发起http请求时，他会返回一段js代码，这段js执行以后会直接跳转到http://passport.oa.com/passport/... 这样一个地址，但是我却发现passport.oa.com这样一个地址实际上是无法访问的，因为他指向了一个内网IP。那这样看起来就是一个很奇怪的问题了。为什么访问一个公网IP却要跳转到一个内网的地址，我们在仔细看这个域名的是passport.oa.com;从命名来看似乎是说oa（办公网）的统一登陆认证地址？这意味着什么呢？我们大胆的猜想一下，是不是因为这个公网ip对应的服务器实际上是部署着一个内部的业务，这样解释起来貌似比较靠谱啊？为了验证我的想法，我对该公司的所有C段开放http服务的IP进行了批量的探测，发现了一些同样有意思的东西：</p>

<p><img src="http://static.wooyun.org//drops/20150810/2015081008175853504.png" alt="" /></p>

<p>这个返回同样是一段js判断，很直接的逻辑，如果你访问的host是指向内网（.oa.com）那么他会跳转到一个内部的服务地址，如果你访问的host的是指向外网（.qq.com）;那么他会跳转到一个外部的服务地址。那么我接下来很简单，只需要对这个ip进行绑定host来测试即可： <img src="http://static.wooyun.org//drops/20150810/2015081008175877623.png" alt="" /></p>

<p>从返回内容来看确实是一个内网业务。</p>

<p>我们再来深入的分析一下为什么会出现这样一些问题，我认为大概是有如下几种原因：</p>

<ol>
<li>上线流程的问题，就是这些本来应该部署在内网的应用是如何部署到一个具有外网访问权限的机器上的，这在上线前的安全检查是有问题的。</li>
<li>机器网络权限的管理的问题，也许这个机器申请了一个短期的外网权限，但是到期了并未下线，导致其他人在使用这个服务器的时候都也许不知道这个机器具备外网权限。</li>
</ol>

<h1>0x04 内网业务对外的漏洞挖掘</h1>

<hr />

<p>首先需要获取攻击目标企业的资产信息，即Ip及域名信息；然后通过获取到的外网域名及IP信息获取banner信息。然后通过判断返回banner信息的特征来判断该IP/域名是否存在内网业务对外的问题，具体的一些特征信息主要有如下几点：</p>

<ol>
<li><p>返回的headers里面的特征，比如Location字段内容直接跳转到内网ip及域名。</p></li>
<li><p>返回的body里面的特征:body里面包含内网ip或者域名；或者一些关键字，比如title里带内部xxx系统等等</p></li>
</ol>

<p>除此之外甚至可以考虑对一些内部的常用域名强行绑定公网ip进行枚举。然后还是通过回去回包的特征来判断。</p>

<p>相关案例：</p>

<pre><code> <a target="_blank" href="http://www.wooyun.org/bugs/wooyun-2015-095277">WooYun: 腾讯某内部业务对外存在多个sql注入(少量qq账号密码泄露base64的)</a> 
 <a target="_blank" href="http://www.wooyun.org/bugs/wooyun-2015-0121069">WooYun: 从一个phpinfo到一次半途而废的腾讯内网漫游之旅</a> 
</code></pre>

<h1>0x05 攻击思路之弱点扫描</h1>

<hr />

<p>弱点扫描是一个典型的企业合规性检测的盲区，即备份文件、测试代码文件的检测。这个完全依赖于字典的暴力枚举来进行检测。通常一些开发的测试文件，运维的备份文件spider是无法抓取到的，只能靠字典来暴力枚举，那么在进行黑盒的安全检测的时候就会出现两个问题：</p>

<ol>
<li>暴力枚举的字典有限，倒不是说企业写不出很长的字典，而是说企业在进行扫描的时候需要周期性的扫描几千上万个域名、ip；那么如果字典文件太大的话必然导致扫描周期很长，占用过多资源。</li>
<li>一些测试文件没有明显的漏洞特征，需要辅助人工判断，大企业目标太多不可能过多的人工参与，从而导致漏报。</li>
</ol>

<p>那么基于以上两个硬伤，攻击者可以先对目标企业的域名及ip进行一轮字典的枚举，字典可以尽量大，因为攻击者其实不需要太多的考虑扫描时间，可以慢慢跑，然后对扫描结果的判断时可以写一些宽松的策略，比如只要判断某个文件是否存在，且返回内容就几个字节，或者存在一些敏感的关键字，比如内部系统、测试的数组结构等等就先记下来，然后辅助一些人工的判断。当然在人工判断的时候也是有技巧的，比如你可以一次在一个页面iframe 50个潜在目标来进行肉眼+经验的识别。</p>

<p>下面给一些案例，就是通过这种方式发现的：</p>

<pre><code>http://wooyun.org/bugs/wooyun-2015-092833

http://wooyun.org/bugs/wooyun-2015-0122949
</code></pre>

<h1>0x06 写在最后</h1>

<hr />

<p>对于一个大型互联网公司来说，其实并不是因为他们安全做的不够好，而是守需要考虑的是一个面，而攻只需要一个点，对一个点进行深入的挖掘，一定可以找到突破口，而本身企业的安全建设其实也是一直在提高攻击门槛，并不是无懈可击。</p>

<p>而不管是对于攻击者还是防守者来说，本身对于安全问题的发现能力是决定着这场持久的攻防战中最核心的决定因素，正是如此，大家可以对tangscan有一些期待，希望联合所有白帽子的力量，tangscan能够拥有最强的安全问题的发现能力。</p>      </p>
    
			</body>
		</html>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          